﻿using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using Lapas.Common.Forms;
using Lapas.Common;

namespace LookupControl
{
    public partial class LookupForm : BaseForm
    {
        public string ValueLookup { get; set; }
        string column = string.Empty;

        /// <summary>
        /// 
        /// </summary>
        /// <param name="columnList">Ds các column cần lấy</param>
        /// <param name="aliasList">Alias của ds column</param>
        /// <param name="tableName">Table Name</param>
        /// <param name="columnKey">columnKey sẽ tìm theo giá trị của valueKey</param>
        /// <param name="valueKey">columnKey sẽ tìm theo giá trị của valueKey</param>
        /// <param name="columnSelect">Lấy giá trị của column này trả về ValueLookup - Truyền vào là alias của column đó (aliasList)</param>
        public LookupForm(string columnList, string aliasList, string tableName, string columnKey, string valueKey, string columnSelect)
        {
            InitializeComponent();
            column = columnSelect;
            Lookup(columnList, aliasList, tableName, columnKey, valueKey);
            FormatGrid();
        }

        private void FormatGrid()
        {
            UIFormat.FormatGrid(mainGrid, false, true, true, false);
        }

        private void Lookup(string columnList, string aliasList, string tableName, string columnKey, string valueKey)
        {
            DataSet ds = new DataSet();
            ds = WorkDAL.LookUp.Lookup.Instance().LookupDs(columnList, aliasList, tableName, columnKey, valueKey, true);

            mainGrid.DataSource = ds.Tables[0];
        }

        private void btnOK_Click(object sender, EventArgs e)
        {
            if (mainGrid.CurrentRow != null)
                ValueLookup = mainGrid.CurrentRow.Cells[column].Value.ToString();

            this.Close();
        }

        private void mainGrid_KeyDown(object sender, KeyEventArgs e)
        {
            if (e.KeyCode == Keys.Enter)
                btnOK.PerformClick();
        }

        private void btnExit_Click(object sender, EventArgs e)
        {
            this.Close();
        }
    }
}
